package com.google.sydym6.logic.managers;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.List;

import com.google.sydym6.logic.database.data.IRadioData;
import com.google.sydym6.logic.database.data.ISongData;
import com.google.sydym6.logic.managers.recognizing.IScrobbler;

import javazoom.jl.decoder.JavaLayerException;

import android.graphics.drawable.Drawable;


/**
 * Define interface to work with radio
 * @author Mikl
 *
 */
public interface IRadioManager {

	void setRadio(IRadioData radioInfo);
	void playRadio() throws IllegalArgumentException, SecurityException, IllegalStateException, IOException;
	void stopRadio();
	boolean isPlaying();
	boolean isInitialized();
	
	String getRecognizeStatus();
	String getRecognizedArtistTitle();
	IRadioData getRadio();
//TODO void share();
	
	void recognize() throws MalformedURLException, JavaLayerException, IOException, InterruptedException;
	void cancelRecognize();
	void setRecognizePeriod(int period);
	void setScrobbler(IScrobbler scrobbler);
	List<ISongData> getSongHistory();
}
